package com.fortune.dao;

import com.fortune.dto.in.paymentMgt.DistributorPaymentAddDto;
import com.fortune.dto.in.paymentMgt.DistributorPaymentEditDto;
import com.fortune.dto.in.paymentMgt.DistributorPaymentListDto;
import com.fortune.vo.paymentMgt.*;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * Created by Administrator on 2018/5/29 0029.
 */
public interface PaymentMgtDao {

    List<DistributorPayment> findDistributorPaymentList(@Param("dto")DistributorPaymentListDto dto,@Param("mid")String mid);

    int findDistributorPaymentListCount(@Param("dto")DistributorPaymentListDto dto,@Param("mid")String mid);

    String findConfirmUser(@Param("id")String id,@Param("mid")String mid);

    DistributorPaymentDetail findDetail(@Param("mid")String mid,@Param("paymentId")String paymentId);

    List<OutPay> findOutPay(@Param("mid")String mid,@Param("id")String id);

    int add(@Param("userId")String userId,@Param("addDto")DistributorPaymentAddDto addDto,@Param("mid")String mid,@Param("did")String did,@Param("id")String id);

    int updateOutPay(@Param("mid")String mid,@Param("did")String did,@Param("id")String id,@Param("payTypeId")String payTypeId,@Param("pId")String pId);

    int delete(@Param("editDto")DistributorPaymentEditDto editDto,@Param("mid")String mid,@Param("did")String did);

    int updateAdd(@Param("userId")String userId,@Param("editDto")DistributorPaymentEditDto editDto,@Param("mid")String mid,@Param("did")String did,@Param("id")String id);

    int deletePayment(@Param("mid")String mid,@Param("id")String paymentId);

    List<MOutInfoInPaymentMgt> findOutList(@Param("mid")String mid, @Param("distributorId")String distributorId);

    List<MOutInfoInPaymentMgt> findOutLists(@Param("mid")String mid, @Param("distributorId")String distributorId);

    List<MOutInfoInPaymentMgt> findOwnArrears(@Param("mid")String mid,@Param("id")String id);

    List<MOutInfoInPaymentMgt> findOutListWhereId(@Param("mid")String mid,@Param("distributorId")String distributorId,@Param("id")String id);

    List<DidPayment> findDid(@Param("mid")String mid);

    List<DidPayment> findDidUser(@Param("did")String did);

    List<DidPayment> findPayType();

    int restartPay(@Param("mid")String mid,@Param("id")String id,@Param("did")String did);

    int updatePrice(@Param("mid")String mid,@Param("did")String did,@Param("dto")DistributorPaymentEditDto editDto);
}
